查看原文
其他

小米今年新招5000应届生!

沉默王二 沉默王二
2024-09-12

大家好,我是二哥呀。

看完雷军 2024 届小米应届生欢迎典礼致辞,得到一个很明确的信号:小米一共招了 4000 名 24 届应届生,并且承诺 25 届至少还会招募 4000-5000 名应届生。

截图来自雷军

虽然最后这句逻辑不够严谨,把“至少”和“4000-5000”放在了一起(dog),但是我还是愿意给小米一个大拇指, 希望小米能发展的更好,并且按照 5000 的标准去招,这对就业市场只有好处没有坏处(😄)。

那从小米上半年的财报可以看得出,小米的员工人数为 37525 人,营收为 1643.94 亿元,薪酬福利开支为 105 亿,相比去年增长了 18.29%。

截图来自 HR 实名俱乐部

整体的薪资待遇在大厂中不算是第一梯队,但排在第二梯队是没什么问题的。另外,从我在《Java 面试指南》中收录的历年小米面经来看,小米的面试强度没有特别卷,属于正常水准。

对小米有情结,或者打算在武汉、南京这一带定居的小伙伴,可以冲一波。小米在这两个地区的 HC 还是比较充足的,去年星球里也有好几个球友最后去了小米,有暑期去小米转正的,也有最后跑路的,还有秋招和春招拿到 offer 的。

接下来,给大家分享一个球友当时在小米二面时碰到的技术问题:关于 MySQL 慢查询语句的,当时球友以为被面试官挂了,结果被另外一个部门捞了起来。

那大家在“如火如荼”的面试中也是要佛系一点,有时候你觉得面试官可能是在为难你,自己没戏了,但可能就是“山重水复疑无路,柳暗花明又一村”🤔。

球友提问

二哥想问你一个技术问题,这是我小米二面的时候碰到的,面试官问我你的系统是用 mysql 存储数据的,如何定位你的系统是 mysql 哪些增删改查语句拖慢的?

我回答了四个思路全都错了:

  1. 开启看日志,观察看日志定位或者 show profile。面试官:我说的是所有增删改查语句,你这个只能看见慢 sql

  2. 给项目做个 AOP 切面,执行 mysql 语句的时候记录执行时间。面试官:这是个思路,但是项目已经上线了,你不可以去改代码了

  3. 我直接对项目中所有数据库操作做测试记录时间。面试官;你这样定位时间复杂度有没有想过?

  4. 有没有那种监控数据库资源的框架就和线程池一样我可以用用。面试官:那你自己想想这种东西有没有必要

然后面试一直卡在这里,凉凉了

二哥回复

球友好。

千万不要灰心,从你的反馈来看,这个面试官感觉比你还菜。

第一次看完你的回复,我就纳闷了,这特么开启慢 SQL 查询是一个非常好的解决方案啊,这面试官不引导你往正确的方向走,反而一直否定你,就很奇葩。

一度让我都陷入自我怀疑了。然后问了一下星球的嘉宾@一灰,确认过了,你回答的没问题。

我们来拷打一下这个小米面试官。

1、慢查询日志

慢查询日志(Slow Query Log),它能记录在 MySQL 中执行时间超过某个阈值的所有 SQL 语句。这个功能默认是关闭的,但是可以通过配置打开。慢查询日志会记录所有的 SQL 语句,不仅仅是 SELECT,还包括 INSERT、UPDATE、DELETE 等。

开启慢 SQL 查询日志后,可以通过 mysqldumpslow 对慢查询日志进行分析,然后找出最慢的 SQL。

EXPLAIN 也可以用来进行辅助,或者直接用 SHOW PROCESSLIST 查看卡主的 SQL 语句是哪个。

2、打印 SQL 执行时间

我们在技术派中实现的,是借助 mybatis 的插件机制,对所有的 sql 执行打印出耗时,这种实现属于框架层,即便是已经上线的项目引入之后也是直接用即可,成本很低。

而且,面试官的回答就非常不专业了,上线之后就不可以改代码,那出了 bug 修不修?

3、执行计划

也可以再进行扩展,比如第二个的实现只是记录执行耗时;我们还可以增加一个 sql 执行计划检测的拦截器,每个 sql 执行时,先 explain 一下,看执行计划,然后将对应的结果记录下来;这种实现成本也很低,而且我只在开发环境、测试环境跑这个,不影响生产环境。

然后基于上面的实现来分析,有没有隐藏的慢 sql

这种东西的实现,意义就更大了,它不仅仅只是为了解决我的项目问题,适用性还非常强,可以推广到全公司,推广到业界,完全可以搞成开源产品。

相当于我们基于实际的项目痛点,搞出了一个通用的解决方案,这个带来的优势,远面试官认为的那局限于某一个问题的解决方案大得多

4、面试也是一种缘分

如果我是面试官,你回答的这四个我已经很满意了。面试有时候就是看缘分,有些面试官觉得自己在优化 MySQL 的时候有一些奇淫异巧,然后一旦你猜不中他的心思,他就认为你回答的不好

所以,遇到这种面试官,不鸟他就对了。

你必须得承认,面试中就是会遇到一些奇葩面试官,本身菜的抠脚,还一副高高在上的样子,对你进行一番输出后,自己在那洋洋得意。

小子,难住你了吧?

同时叹口气,今天的 kpi 终于完成了。

所以,不要怀疑自己,复盘总结,下次再遇到这种问题,就把上面我和一灰的方案甩过去,压倒性地战胜他。

继续加油!别气馁。

ending

一个人可以走得很快,但一群人才能走得更远。二哥的编程星球已经有 6100 多名球友加入了,如果你也需要一个良好的学习环境,戳链接 🔗 加入我们吧。这是一个编程学习指南 + Java 项目实战 + LeetCode 刷题的私密圈子,你可以阅读星球专栏、向二哥提问、帮你制定学习计划、和球友一起打卡成长。

两个置顶帖「球友必看」和「知识图谱」里已经沉淀了非常多优质的学习资源,相信能帮助你走的更快、更稳、更远

欢迎点击左下角阅读原文了解二哥的编程星球,这可能是你学习求职路上最有含金量的一次点击。

最后,把二哥的座右铭送给大家:没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。共勉 💪。

继续滑动看下一个
沉默王二
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存